/**
 * Copyright &copy; 2015-2020 <a href="http://www.easyhis.com/">easyhis</a> All rights reserved.
 */
package com.easy.dfcapi.mapper;

import com.easy.core.persistence.annotation.MyBatisMapper;
import com.easy.dfcapi.res.ActivityEnrollQueryRes;
import com.easy.dfcapi.res.Product;
import org.apache.ibatis.annotations.Param;

import java.util.Date;
import java.util.List;
import java.util.Map;

/**
 * 	买家首页接口
 * @author waylen chi
 * @version 2018-01-11
 */
@MyBatisMapper
public interface ApiBuyerMapper {
    //******以下为全新定义
    public List<Map<String,Object>> getNiceFactoryList(@Param(value = "limitSize") Integer limitSize);

    public List<Map<String,Object>> getNiceFactoryTodayList(@Param(value = "limitSize") Integer limitSize);

    public List<Map<String,Object>> getNiceBrandList(@Param(value = "limitSize") Integer limitSize);

    public List<Map<String,Object>> getNiceProduct(@Param(value = "pageIndex") Integer pageIndex, @Param(value = "pageSize") Integer pageSize);

    public List<Map<String,Object>> getBerserkProductList(@Param(value = "limitSize") Integer limitSize);

    public List<Map<String,Object>> BestOnWeek(@Param(value = "type") Integer type);

    public List<Map<String,Object>> BestToday(@Param(value = "pageIndex") Integer pageIndex, @Param(value = "pageSize") Integer pageSize, @Param(value = "type") Integer type);
    public List<Map<String,Object>> BestTodayMore(@Param(value = "pageIndex") Integer pageIndex, @Param(value = "pageSize") Integer pageSize, @Param(value = "type") Integer type);


    public List<Map<String,Object>> getNiceProductByFactoryId(@Param(value = "factoryId") Integer factoryId);

    public List<Map<String,Object>> BestProductToday(@Param(value = "pageIndex") Integer pageIndex, @Param(value = "pageSize") Integer pageSize, @Param(value = "type") Integer type);

    public List<Map<String,Object>> TPFactoryList(@Param(value = "pageIndex") Integer pageIndex, @Param(value = "pageSize") Integer pageSize);

    public List<Map<String,Object>> TPBestProduct(@Param(value = "ageGroup") String ageGroup, @Param(value = "pageIndex") Integer pageIndex, @Param(value = "pageSize") Integer pageSize);

    public List<Map<String,Object>> WPFactoryList(@Param(value = "pageIndex") Integer pageIndex, @Param(value = "pageSize") Integer pageSize);

    public List<Map<String,Object>> WPBestProduct(@Param(value = "ageGroup") String ageGroup, @Param(value = "pageIndex") Integer pageIndex, @Param(value = "pageSize") Integer pageSize);

    public List<Map<String,Object>> WPProduct(@Param(value = "ageGroup") String ageGroup, @Param(value = "pageIndex") Integer pageIndex, @Param(value = "pageSize") Integer pageSize, @Param(value = "day") Integer day);

    public List<Map<String,Object>> DayDayProduct(@Param(value = "pageIndex") Integer pageIndex, @Param(value = "pageSize") Integer pageSize);

    public List<Map<String,Object>> NiceFactory(@Param(value = "pageIndex") Integer pageIndex, @Param(value = "pageSize") Integer pageSize);

    public void updateFactoryType(@Param(value = "id") Integer id, @Param(value = "type") Integer type);

    public List DaySpecialOffer(@Param(value = "ageGroup") String ageGroup, @Param(value = "limitSize") Integer limitSize, @Param(value = "tdate") Date tdate);

    public List DaySpecialOfferMore(Product data);

    public List OrderMeeting(ActivityEnrollQueryRes data);

    public List<Map<String,Object>> getBrandProSaleMax();

    public List<Map<String,Object>> getFactoryProSaleMax();

    public List<Map<String,Object>> ImplosionList(Product data);

    public List<Map<String,Object>> getJumpTailTime();

    public List<Map<String,Object>> getJumpTailList(Product data);

    public Map<String,Object> OrderMeetingDetail(ActivityEnrollQueryRes data);

    public List<Map<String,Object>> OrderMeetingDetailProduct(ActivityEnrollQueryRes data);


    public List<Map<String,Object>> getMoreBanner(Integer type);

    public List<Map<String,Object>> getHomeBanner();

    public List<Map<String,Object>> getNewList(Integer askSize);

    public List<Map<String,Object>> getNewProductList(Integer productSize);

    public List<Map<String,Object>> getNowLiveList(Integer niceFactoryProductSize);
}